package com.eltsistemas.dao;

import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;

import com.eltsistemas.modelo.Cilindrada;
import com.eltsistemas.modelo.Cliente;

public class ClienteDao {
	
	private Session session;
	
	public ClienteDao(Session session)
	{
		this.session=session;
	}
	
	public void adiciona(Cliente cliente)
	{
		session.save(cliente);
		session.getTransaction().commit();
	}
	
	public List<Cliente> lista()
	{
		return session.createCriteria(Cliente.class).list();
	}
	
	public Cliente exibe(Cliente cliente)
	{
		Cliente encontradoCliente = (Cliente) session.load(Cliente.class, cliente.getId());
		return encontradoCliente;
	}
	
	public void altera(Cliente cliente)
	{
		session.update(cliente);
		session.getTransaction().commit();
	}
	
	public void remover(Cliente cliente)
	{
		session.delete(cliente);
		session.getTransaction().commit();
	}
	
	public Cliente buscaCodigo(String nome)
	{
		// TODO Auto-generated method stub
		
		Query query = this.session.createQuery("from Cliente " +
				"where razao = :razao");
		
		query.setString("razao", nome);
				
		Cliente encontradaCliente = (Cliente) query.uniqueResult();
		return encontradaCliente;
		
	}

}
